/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

import br.com.biblioteca.common.util.CpfUtils;
import br.com.biblioteca.common.util.FormatterDate;
import br.com.biblioteca.dba.GenericDao;
import br.com.model.core.CarrinhoDao;
import br.com.model.core.ClienteDao;
import br.com.model.core.ItemCarrinhoDao;
import br.com.model.core.ProdutoDao;
import br.com.model.entity.Carrinho;
import br.com.model.entity.Cliente;
import br.com.model.entity.ItemCarrinho;
import br.com.model.entity.Produto;
import br.com.utils.CadastroTXT;

/**
 *
 * @author Aluno
 */
public class Cadastro {

    public static void main(String[] args) {
        cadastroCliente();
        //cadastroItemCarrinho(cadastroProduto(), cadastroCarrinho(cadastroCliente()));
        CadastroTXT cTXT = new CadastroTXT();
        System.out.println(cTXT.cadastrarPeloArquivo("1.txt"));
    }

    public static Cliente cadastroCliente() {
        Cliente c1 = new Cliente();
        ClienteDao cD = new ClienteDao();

        c1.setCelular("(31) 8585-8585");
        c1.setCep("3131-440");
        c1.setCpf(CpfUtils.geraCpfValido());
        c1.setEmail("admin@test.com");
        c1.setEndereco("Rua 321312");
        c1.setLogin("admin");
        c1.setPassword("admin");
        c1.setNomeCliente("Administrador");
        c1.setRole("ADM");
        cD.save(c1);
        cD.save(c1);
        Object get = cD.list(Cliente.class).get(0);
        c1 = (Cliente) get;
        return c1;
    }

      public static void ListarProduto() {
        Produto p1 = new Produto();
        ProdutoDao pD = new ProdutoDao();
          System.out.println(pD.listarProduto("Pedal utilizado na Guitarra"));
      }
    public static Produto cadastroProduto() {
        Produto p1 = new Produto();
        GenericDao pD = new GenericDao();

        p1.setCategoria("Pedal de Guitarra");
        p1.setDescricaoProduto("Pedal utilizado na Guitarra");
        p1.setPrecoProduto(123.55);
        p1.setQtdEstoq(58);
        p1.setStatusProduto(Boolean.TRUE);
        p1.setNomeProduto("Monster Dist");
        
        pD.save(p1);
        pD.save(p1);
        Object get = pD.list(Produto.class).get(0);
        p1 = (Produto) get;
        System.out.println(p1.getStatusProduto());
        return p1;
    }

    public static Carrinho cadastroCarrinho(Cliente cl1) {
        Carrinho c1 = new Carrinho();
        CarrinhoDao cD = new CarrinhoDao();

        c1.setDataEntrega(FormatterDate.dataSql());
        c1.setDataPedido(FormatterDate.dataSql());
        c1.setIdCliente(cl1);
        c1.setValor(321.654);
        c1.setStatus('B');

        cD.save(c1);
        Object get = cD.list(Carrinho.class).get(0);
        c1 = (Carrinho) get;
        System.out.println(c1.getStatus());
        return c1;

    }

    public static void cadastroItemCarrinho(Produto p1, Carrinho c1) {
        ItemCarrinho iC = new ItemCarrinho();
        ItemCarrinhoDao iCD = new ItemCarrinhoDao();

        iC.setIdCarrinho(c1);
        iC.setIdproduto(p1);
        iC.setQtdProd(2);
        iC.setValorTotal(p1.getPrecoProduto() * iC.getQtdProd());

        iCD.save(iC);
        iCD.save(iC);
        iCD.save(iC);
        iCD.save(iC);
    }
}
